為了方便範例程式的展示,所以我將Request API 以及 Confirm API以及Capture API的範例寫在一起。
將Capture API所需的java bean先建立起來:
Java bean的部分一樣都統一放在vo資料夾,這邊建立了一個CaptureData的物件,屬性有amount、currency兩個屬性,getter()、setter()要記得加上喔。
官方文件沒有提供Capture API的範例程式,就只能自己打了!
ConsumerCheck主程式:
Amount金額的部分對應的就是Request API中這筆交易的總金額。
Java bean的部分完成後,要打Capture API之前也是要將Request Header的部分也準備好!
Capture API (Request Header):
上圖的signature對應的就是Request Header中的X-LINE-Authorization,而signature的組成就是由ChannelSecret+captureUri+RequestBody+confirmNonce所組成。
ChannelSecret:LINE PAY商家後台我們連結金鑰裡的Channel Secret Key。
RequestBody:由objectmapper將captureData的java bean內容都轉為json格式的內容。
CaptureNonce:同時也是Request Header中的X-LINE-Authorization-Nonce。
CaptureUri:官方文件裡提供給Capture API這隻API的URL,{transactionId}放的是Request API付款後Response回覆的transactionId。
所以CaptureUri的部分我們必須連貫著Request API進行測試,才能將uri裡面的{transactionId}替換成equest API付款後Response回覆的transactionId。
Request API – transactionId:
將CaptureUri的{transactionId}的部分替換後就可以囉~
我們就把資訊都印出來。
Console:
這樣就可以帶到postman做測試囉!